.#{$ns}input{
  width: 100%;
  border: 1px solid $baseBorderColor;
  border-radius: $baseBorderRadius;
  padding: 4px 6px;
}

.#{$ns}radio,
.#{$ns}checkbox {
  @include appearance();
  display: inline-block;
  vertical-align: middle;
  position: relative;
  height: 20px;
  width: 20px;
  border: 1px solid #dfdfdf;
  vertical-align: middle;
  outline: 0;
  &.#{$ns}radio {
    border-radius: 50%;
  }
  &:checked {
    background-color: #47d873;
    border: 1px solid #47d873;
    &:after {
      content: "";
      position: absolute;
      left: 4px;
      top: 5px;
      width: 11px;
      height: 6px;
      background-color: transparent;
      border-width: 3px;
      border-color: #fff;
      border-style: solid;
      border-top: none;
      border-right: none;
      @include rotate(-45deg);
      .sm & {
        border-width: 2px;
        left: 2px;
        top: 3px;
      }
    }
  }
  &.sm {
    height: 16px;
    width: 16px;
    &:checked {
      background-color: #47d873;
      border: 1px solid #47d873;
      &:after {
        width: 10px;
        height: 5px;
        border-width: 2px;
        left: 2.5px;
        top: 2.7px;
      }
    }
  }
  &:disabled {
    border: 1px solid #f1f1f1;
  }
}